package cn.iocoder.yudao.module.bpm.dal.mysql.definition;

import cn.iocoder.yudao.module.bpm.api.task.dto.BpmCommonHandleDTO;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmCommonHandlePageDTO;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmCommonHandleTotalDTO;
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.common.BpmCommonHandleVO;
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.common.BpmHandleStatisticsRespVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


@Mapper
public interface BpmCommonMapper {

  /**
   * 查询待办
   * @return
   */
  public List<BpmCommonHandleDTO> selectHandleFlow(BpmCommonHandlePageDTO pageDTO) ;

  /**
   * 查询待办条数
   * @return
   */
  public Long selectHandleFlowCount(BpmCommonHandlePageDTO pageDTO) ;

  /**
   * 查询已办
   * @return
   */
  public List<BpmCommonHandleDTO> selectHandleDoneFlow(BpmCommonHandlePageDTO pageDTO) ;

  /**
   *  查询已办条数
   * @param pageDTO
   * @return
   */
  public Long selectHandleDoneFlowCount(BpmCommonHandlePageDTO pageDTO) ;

  /**
   * 按类型查询待办总数
   * @return
   */
  public List<BpmCommonHandleTotalDTO> selectHandleTotal(String userCode) ;


  /**
   * 按类型查询已办总数
   * @param userCode
   * @return
   */
  public List<BpmCommonHandleTotalDTO> selectHandleDoneTotal(String userCode) ;

  /**
   * 查询待办统计数据
   * @Author 王铁
   * @Description TODO
   * @Date 2024/10/24 10:50
   * @Version 1.0
   */
  public List<BpmHandleStatisticsRespVO> selectHandleStatistics(BpmCommonHandleVO reqVO) ;

}
